<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 * 自增 ++
			 * 	 - 通过自增可以使变量在自身的基础上增加1
			 * 	 - 对于一个变量自增以后，原变量的值会立即自增1
			 * 	 - 自增分成两种：后++(a++) 和 前++(++a)	
			 * 		无论是a++ 还是 ++a，都会立即使原变量的值自增1
			 * 			不同的是a++ 和 ++a的值不同
			 * 		a++的值等于原变量的值（自增前的值）
			 * 		++a的值等于新值 （自增后的值）
			 * 
			 * 自减 --
			 * 	- 通过自减可以使变量在自身的基础上减1
			 * 	- 自减分成两种：后--(a--) 和 前--(--a)
			 * 		无论是a-- 还是 --a 都会立即使原变量的值自减1
			 * 			不同的是a-- 和 --a的值不同
			 * 				a-- 是变量的原值 （自减前的值）
			 * 				--a 是变量的新值 （自减以后的值）
			 * 			
			 * 	
			 */
			
			var num = 10;
			console.log("num = " + num);
			num--;
			console.log("[num--]: " + num);
			
			console.log("\n");
			
			num = 10;
			console.log("num = " + num);
			--num;
			console.log("[--num]: " + num);
			
			console.log("\n");
			
			num = 10;
			console.log("num = " + num);
			console.log("[console.log(num--);]");
			console.log(num--);
			
			console.log("\n");
			
			num = 10;
			console.log("num = " + num);
			console.log("[console.log(--num);]");
			console.log(--num);
			
			console.log("\n");
			
			
			
			var a = 1;
			console.log("a = " + a);
			//使a自增1
			a++;
			console.log("[a++]: " + a);
			
			console.log("\n");
			
			a = 1;
			console.log("a = " + a);
			//使a自增1
			++a;
			console.log("[++a]: " + a);
			
			console.log("\n");
			
			a = 1;
			console.log("a = " + a);
			console.log("[console.log(a++);]");
			console.log(a++);
			
			console.log("\n");
			
			a = 1;
			console.log("a = " + a);
			console.log("[console.log(++a);]");
			console.log(++a);
			
			console.log("\n");
			
			a = 1;
			console.log("a = " + a);
			console.log("++a = " + ++a);
			console.log("\n");
			
			a = 1;
			console.log("a = " + a);
			console.log("a++ = " + a++);
			console.log("\n");
			
			
			
			var c = 10;
			console.log("c = " + c);
			console.log("第一次c++，是在10的基础上自增");
			c++;
			console.log("[c++;]");
			console.log(c);
			console.log("第二次c++，是在11的基础上自增");
			console.log("[console.log(\"c++ = \" + c++);]");
			console.log(c++);
			
			console.log("\n");
			
			var d = 20;
			console.log("d = " + d);
			console.log("++d: " + ++d);//21
			console.log("++d: " + ++d);//22
			
			console.log("\n");
			
			d = 20;
			console.log("d = " + d);
			//实际运算数 20 + 22 + 22 = 64
			//d此时的值  21   22   22
			console.log("[d++ + ++d + d]");
			var result = d++ + ++d + d ;
			console.log("result = " + result);
			
			console.log("\n");
			
			d = 20
			console.log("d = " + d);
			d = d++;
			console.log("[d = d++;]");
			console.log("d = " + d); //d = 20
			
			/* d = d++;
				等同于：
			 * var e = d++; d被赋值为21
			 * d = e;       d被赋值为20
			 */
			
			
		</script>
		
	</head>
	<body>
	</body>
</html>
